#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N = 5e5 + 10;
LL n, m, k;
bool check(LL x)
{
	LL ans = 0;
	for (LL i = 1; i <= n; i++) {
		ans += min(x / i, m);
	}
	if (ans < k)return 1;
	return 0;
}
int main()
{
	cin >> n >> m >> k;
	LL l = 0, r = n * m + 1;
	while (l + 1 < r) {
		LL mid = l + r >> 1;
		if (check(mid))l = mid;
		else r = mid;
	}
	cout << r << endl;
	return 0;
}